const express = require('express');
const app = express()

// 配置模板引擎
app.set("view engine","ejs");

// 默认加载模板引擎的文件夹是views
// app.set('views', __dirname + '/views');

// 配置静态web目录
app.use(express.static('statics'))

app.get("/", (req, res) => { 
  let title = '你好ejs'
  res.render("index", { title }); 
});

app.get('/article', (req, res) => {
  let userInfo = {
    username: '张三',
    age: 20
  } 
  let article = '<h3>我是一个h3</h3>'
  let list = ['11111', '22222', '33333']
  let articleList = [
    {
      username: '张三1',
      age: 20
    },
    {
      username: '张三2',
      age: 21
    },
    {
      username: '张三3',
      age: 22
    } 
  ]
  res.render('article', {userInfo, article, flag: true, score: 50, list, articleList})
})

app.get('/login', (req, res) => {
  res.send('登录页面')
})

app.get('/register', (req, res) => { // get: 显示数据
  res.send("注册页面")
})

app.post('/doLogin', (req, res) => { // post: 增加数据
  res.send('执行登录')
})

app.put("/editUser", (req, res) => { // put: 主要用于修改数据
  res.send('修改数据')
})

app.delete("deleteUser", (req, res) => { // delete: 主要用于删除数据
  res.send('删除数据')
})

// 路由里面配置多级目录
app.get('/admin/user/add', (req, res) => {
  res.send('admin user add')
})

app.get('/admin/user/edit', (req, res) => {
  res.send('admin user edit')
})

// 动态路由 配置路由的时候也要注意顺序
app.get('/article/add', (req, res) => {
  res.send('article add')
})
app.get('/article/:id', (req, res) => {
  var id = req.params['id']
  res.send('动态路由' + id)
})
// app.get('/article/add', (req, res) => { // 因为上方的路由配置，所以此处不会执行，写在上方就可以了
//   res.send('article add')
// })

// get传值 http://192.168.31.163:3000/product?id=123&cid=456
app.get('/product', (req, res) => {
  let query = req.query
  console.log(query)

  res.send('product-' + query.id)
})

app.listen(3000) // 端口号建议写成3000以上，避免遇到占用端口的情况
